1. Field of the Invention
The present invention relates to a control apparatus for a motor used in a machine tool, an industrial machine, or the like which is driven and controlled by a control apparatus such as a numeral control apparatus, and more particularly to a motor control apparatus which drives and controls a driven body in accordance with a predefined action pattern by repeating a position command of a specific pattern.
2. Description of the Related Art
When performing machining or the like by repeating a command of a specific pattern, it is known to use repetitive control (learning control) as a method for improving machining accuracy by causing control errors to converge nearly to zero (0). In the repetitive control (learning control), such as described in Japanese Patent Nos. 2840139 and 4043996, for example, the time required to complete a pattern action such as one workpiece rotation is taken as a repetitive (learning) cycle, and a positional error is obtained for each predetermined control cycle by rotating the workpiece a plurality of times and, based on the thus obtained positional error, the amount of correction required is calculated and stored in memory; then, the amount of correction stored in memory for each control cycle in the preceding pattern cycle is added to the positional error obtained for the corresponding control cycle in the current pattern cycle, thereby trying to cause the positional error to converge to zero. There are two methods for performing the repetitive control: one is to perform the control by reference to the position and angle of a driven body, as described in the invention disclosed in Japanese Patent No. 2840139, and the other is to perform the control by reference to the time, as described in the invention disclosed in Japanese Patent No. 4043996.
When controlling the driving of a driven body having a nonlinear frictional characteristic, such as Coulomb friction, by a motor in accordance with a predefined action pattern by performing repetitive control with high precision, if the position command to the motor for driving and controlling the driven body makes a transition from a state other than zero to a state close to zero, and the command thereafter continues to stay in the vicinity of zero, the amount of correction that the control unit outputs may oscillate because of the nonlinear friction of the driven body. As a result, if the repetitive control further continues with the driven body at rest, oscillations will be set up in the driven body.
FIG. 10 is a diagram showing by way of example a nonlinear frictional characteristic having a Stribeck effect. In the illustrated example, viscous friction is assumed to be zero. A stick-slip phenomenon is observed during the driving of a driven body having such a frictional characteristic. FIGS. 11 and 12 are diagrams showing by way of example the simulation results of the oscillations that occur in the driven body having the nonlinear frictional characteristic shown in FIG. 10 when the driven body is driven in a controlled manner by a motor: FIG. 11 is a diagram showing a position command given to the motor for driving and controlling the driven body, and FIG. 12 is a diagram showing positional errors occurring in the driven body when driven by the position command shown in FIG. 11. The position command shown in FIG. 11 is set up so that when a specific pattern varying sinusoidally at 100 Hz is repeatedly commanded, for example, its amplitude is gradually reduced starting at a given point in time until it is finally reduced to zero. When the driven body having the nonlinear frictional characteristic shown in FIG. 10 is repetitively driven and controlled by giving the position command shown in FIG. 11 to the motor, it can be seen from FIG. 12 that after the amplitude of the position command has been reduced to zero, if the zero state continues, oscillations of low frequencies (15 Hz) will be set up. The repetitive control is performed in one of two ways, i.e., by reference to the position and angle of the driven body or by reference to the time, as earlier described, but oscillations such as described above can occur whichever method is employed to operate the motor to drive and control the driven body having such a nonlinear frictional characteristic.
How oscillations such as described above can occur will be described below. When the position command to the motor for driving and controlling the driven body makes a transition to the zero state from a state other than zero, if the position command to the motor is reduced to zero, the amount of correction that the repetitive control unit outputs does not become zero because of the presence of the nonlinear friction of the driven body. The reason is that, while the positional error representing the deviation between the position command and the actual position of the driven body should normally become zero when the amount of correction that the repetitive control unit outputs becomes zero, if the Coulomb friction is larger than the torque that the motor generates based on the corrected position command, the positional error becomes zero before the amount of correction that the repetitive control unit outputs becomes zero. As a result, the amount of correction calculated at the time that the positional error becomes zero (when the amount of correction is not zero) is stored and held in the repetitive control unit. In this way, even when the positional error is zero, since the amount of correction that the repetitive control unit outputs is not zero, the motor speed command created using this amount of correction does not converge to zero. As a result, the integral term of the speed of the driven body being driven in a controlled manner by the motor gradually increases and, when a torque is generated that overcomes the friction, a positional error occurs. Thereupon, the repetitive control unit outputs such an amount of correction as to reduce this positional error. However, since the cycle in which the positional error occurs is not synchronized with the repetitive cycle (learning cycle) of the repetitive control performed by the repetitive control unit, the repetitive control unit performing the repetitive control ends up amplifying this positional error, and oscillations thus occur in the driven body.